// pages/iotLog/iotLog.js
const app = getApp();
import CommonService from '../../utils/service/commonService.js';
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';
const util = require('../../utils/util');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //imei
    imei:'',    
    //列表
    list:[],
    //页码
    page: 1,
    //是否无更多
    notMore: true,
    //无数据
    showNothing:false,    

    //时间选择
    startTime:"",
    showStart:false,
    currentStart: new Date().getTime(),

    endTime:"",
    showEnd:false,    
    currentEnd: new Date().getTime(),

    minDate:'',
    maxDate: new Date().getTime(),

    formatter (type, value) {
      if (type === 'year') {
        return `${value}年`
      } else if (type === 'month') {
        return `${value}月`
      } else if (type === 'day') {
        return `${value}日`
      } else if (type === 'hour') {
        return `${value}时`
      } else if (type === 'minute') {
        return `${value}分`
      } else if (type === 'second') {
        return `${value}秒`
      }
      return value
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) { 
    if(options.imei){
      this.setData({ 
        imei: options.imei        
      })

      //获取列表数据
      this.getList();
    }    
  },

  //获取列表数据
  getList(){
    Toast.loading({
      duration: 0,
      forbidClick: true,
      message: '加载中...'
    });

    let param={
      page:this.data.page,
      pageSize:15
    }

    if(this.data.imei){
      param.imei=this.data.imei;
    }
    if(this.data.startTime){
      param.begin=this.data.startTime;
    }
    if(this.data.endTime){
      param.end=this.data.endTime;
    }

    CommonService.iotDatalog(param).then(res=>{
      Toast.clear();
      if(res.data.data && res.data.data.result && res.data.data.result.length){
        let result=res.data.data.result;
        console.log('物联网数据日志');
        console.log(result);  
        this.setData({
          list: this.data.list.concat(result)
        })
      }else{  
        this.setData({ 
          notMore: false  
        })
        if(this.data.page==1){
          this.setData({ 
            showNothing: true
          })
        }else{
          Toast.fail('没有更多了');
        }
      }
    }).catch((error) => {
      Toast.clear();
      this.setData({ 
        showNothing: true
      })      
    })
  },  

  //刷新列表和页码
  refreshListAndPage(){
    this.setData({ 
      list: [],
      page:1,
      notMore: true,
      showNothing: false
    })
    this.getList();
  },  

  //点击搜索
  onSearch(){ 
    let imei=this.data.imei;
    if(imei){
      this.refreshListAndPage();
    }else{
      Toast.fail('请输入IMEI');
    }
  },  

  //获取输入的imei值
  getImeiVal(e){   
    this.setData({ 
			imei: e.detail
		})
  },

  //显示开始时间
  onShowStart(){
    this.setData({ 
			showStart: true
    })
  },

  //隐藏开始时间
  onCloseStart(){
    this.setData({ 
			showStart: false
    })
  },
  
  //确认开始时间
  onConfirmStart(e) {
    this.setData({
      currentStart: e.detail,     
      startTime:util.timeFormat(e.detail),
      minDate: e.detail 
    });
    this.onCloseStart();
  },

  //显示结束时间
  onShowEnd(){
    this.setData({ 
			showEnd: true
    })
  },

  //隐藏结束时间
  onCloseEnd(){
    this.setData({ 
			showEnd: false
    })
  },
  
  //确认结束时间
  onConfirmEnd(e) {
    this.setData({
      currentEnd: e.detail,     
      endTime:util.timeFormat(e.detail)      
    });
    this.onCloseEnd();
  },

  //清空搜索条件
  onEmpty(){
    this.setData({
      imei: '',
      startTime:'',   
      endTime:''    
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if(this.data.notMore){
      this.setData({ 
        page: this.data.page + 1 
      })      
      this.getList();      
    }
  }  
})